import { getRequest, postRequest } from '@/utils/request'

/**
 * 获取状态
 * */
export function getStatus() {
  return getRequest('modbus/status')
}

/**
 * 获取温度
 * */
export function getCurrentTemp() {
  return getRequest('modbus/getCurrentTemp')
}

/**
 * 重置故障（writeMultipleRegisters）
 * */
export function resetFault() {
  return postRequest('modbus/writeMultipleRegisters', {
    slaveId: 1,
    address: 0,
    quantity: 5,
    value: 0,
    values: [0, 0, 0, 0, 0],
  })
}

/**
 * 获取转速模拟数据
 * @summary index表示模拟数据的索引，目前模拟数据最长为10个数据；sig=0 -> 正常的数据； sig=1 -> 转子不平衡模拟数据sig=2 -> 动静碰擦sig=3 -> 油膜振动sig=4 -> 汽液激振sig=5 -> 叶片断裂
 * */
export function getZs(sig: number, index: number) {
  return getRequest(`modbus/zs?sig=${sig}&index=${index}`)
}

/**
 * 获取振幅模拟数据（1x or 0.43x or 0.65x）
 * @summary index表示模拟数据的索引，目前模拟数据最长为10个数据；sig=0 -> 正常的数据； sig=1 -> 转子不平衡模拟数据sig=2 -> 动静碰擦sig=3 -> 油膜振动sig=4 -> 汽液激振sig=5 -> 叶片断裂
 * */
export function getZf(sig: number, index: number) {
  return getRequest(`modbus/zf?sig=${sig}&index=${index}`)
}

/**
 * 获取相位角模拟数据
 * @summary index表示模拟数据的索引，目前模拟数据最长为10个数据；sig=0 -> 正常的数据； sig=1 -> 转子不平衡模拟数据sig=2 -> 动静碰擦sig=5 -> 叶片断裂
 * */
export function getXwj(sig: number, index: number) {
  return getRequest(`modbus/xwj?sig=${sig}&index=${index}`)
}

/**
 * 获取通频模拟数据
 * @summary index表示模拟数据的索引，目前模拟数据最长为10个数据；sig=0 -> 正常的数据； sig=1 -> 转子不平衡模拟数据sig=2 -> 动静碰擦sig=3 -> 油膜振动sig=4 -> 汽液激振sig=5 -> 叶片断裂
 * */
export function getTp(sig: number, index: number) {
  return getRequest(`modbus/tp?sig=${sig}&index=${index}`)
}

/**
 * 获取频域模拟数据
 * @summary index表示模拟数据的索引，目前模拟数据最长为10个数据；sig=0 -> 正常的数据； sig=1 -> 转子不平衡模拟数据sig=2 -> 动静碰擦sig=3 -> 油膜振动sig=4 -> 汽液激振sig=5 -> 叶片断裂
 * */
export function getPy(sig: number, index: number) {
  return getRequest(`modbus/py?sig=${sig}&index=${index}`)
}

// 获取真实的折线图数据
export function getRealChart(companyId: string, index: number) {
  return getRequest(`/modbus/real?companyId=${companyId}&num=${index}`)
}
/**
 * 真实/模拟
 * */
export function modbusRealSim(real?: boolean) {
  return getRequest(`modbus/realSim?f=${real ? 1 : 0}`)
}

/**
 * 强制不报警
 * */
export function modbusClose(isMute?: boolean) {
  return postRequest(`modbus/close?f=${isMute ? 1 : 0}`)
}

/**
 * 转子不平衡
 * */
export function modbusRotorImbalance() {
  return getRequest('modbus/rotorImbalance?type=1')
}

/**
 * 油膜振动
 * */
export function modbusOilFilmVibration() {
  return getRequest('modbus/oilFilmVibration?type=1')
}

/**
 * 汽液激振
 * */
export function modbusGasLiquidOscillation() {
  return getRequest('modbus/gasLiquidOscillation?type=1')
}

/**
 * 动静碰擦
 * */
export function modbusDynamicStaticFriction() {
  return getRequest('modbus/dynamicStaticFriction?type=1')
}

/**
 * 叶片断裂
 * */
export function modbusBladeFracture() {
  return getRequest('modbus/bladeFracture?type=1')
}

/**
 * 华南宏耀 获取最新的一条VIB数据
 * */
export function getVibData(data?: any) {
  return postRequest(`hnhy/getLatestVIBInfo`, data)
}

/**
 * 华南宏耀 获取最新的一条PROC数据
 * */
export function getProcData(data?: any) {
  return postRequest(`hnhy/getLatestPROCInfo`, data)
}

/**
 * 华鲁恒升 获取最新的一条数据
 * */
export function getLatestData(data?: any) {
  return postRequest(`hlhsc01/second/vib/getLatestInfo`, data)
}

/**
 * 长源热电 获取最新的一条VIB数据
 * */
export function getCYLatestVIBData(data?: any) {
  return postRequest(`cyrd/getLatestVIBInfo`, data)
}

/**
 * 长源热电 获取最新的一条PROC数据
 * */
export function getCYLatestPROCData(data?: any) {
  return postRequest(`cyrd/getLatestPROCInfo`, data)
}
